

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
<script type="text/javascript" src="helpman_topicinit.js"></script>

<title>UML Profiles [Enterprise Architect User Guide]</title>

<meta name="keywords" content="Enterprise Architect, Sparx Systems, UML, Element,Element Templates And Profiles,Profile,Profile Import From XML,Profile Stereotypes,Profile And Element Templates,UML Profile,UML Profile Import From XML,UML Profile Stereotypes,UML Profile And Element Templates,Template,Template Element">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<meta http-equiv="Content-Style-Type" content="text/css" />

<link type="text/css" href="default.css" rel="stylesheet" />
<style type="text/css">
  A, A:Visited
  {
    color: #00F;
  }

  A:Active, A:Hover
  {
    color: #F00;
  }

  OL
  {
    margin: 5px 0 5px 48px;
  }

  UL
  {
    margin-bottom: 3px;
    margin-top: 0;
  }

  #nsr
  {
    background-color: #D4DFFF;
  }

  #nsr A
  {
    text-decoration: none;
  }

  #mainbody
  {
    padding: 8px;
  }

  .p_BodyText
  {
    padding: 5px 0;
  }
</style>



<style type="text/css" media="screen">
  BODY
  {
    background-color: #FFFFFF;
  }

  #nsr
  {
    padding: 6px 6px 0 6px;
    border-bottom: none;
    vertical-align: top;
    z-index: 2;
    visibility: visible;
    left: 0;
    top: 0;
    position: absolute;
  }

  #mainbody
  {
    left: 0;
    top: 0;
    margin: 0;
    position: absolute;
    padding: 10px;
    overflow: auto;
    height: 100%;
    z-index: 1;
    background-repeat: no-repeat;
    background-position: bottom right;
    background-attachment: fixed;
  }
</style>

<style type="text/css" media="print">
  #nsr
  {
    visibility: none;
  }

  #mainbody
  {
    overflow: visible;
  }
</style>
<script type="text/javascript" language="JavaScript" src="nonscroll.js"></script>

</head>
<body scroll="no">

<div id="page">



        <div id="content">
          <div id="content-inner">
          



  
          <div id="nsr">
            <table border="0" cellspacing="0" cellpadding="4" width="100%">
              <tr valign="top">
                <td align="left">
  


                  <p class="p_Heading1"><span class="f_Heading1">UML Profiles</span></p>



  
                </td>
                <td align="right">
                  <a href="introduction.htm" onmouseover="document.images.main.src='button_main_h.gif'" onmouseout="document.images.main.src='button_main.gif'">
                    <img name="main" src="button_main.gif" border=0 alt="Return to Introduction">
                  </a>&nbsp;
    
                  <a href="requirementshierarchy.htm" onmouseover="document.images.prev.src='button_prev_h.gif'" onmouseout="document.images.prev.src='button_prev.gif'">
                    <img name=prev src="button_prev.gif" border=0 alt="Previous page" />
                  </a>&nbsp;
    
    
    
                  <a href="importingandexportingprofil.htm" onmouseover="document.images.next.src='button_next_h.gif'" onmouseout="document.images.next.src='button_next.gif'">
                    <img name=next src="button_next.gif" border=0 alt="Next page" />
                  </a>
    
    
                </td>
              </tr>
            </table>
          </div>
          <div id="mainbody">
  


                <p class="p_TextIndentedL1"><img src="uml_profiles.png" width="238" height="100" border="0" alt="uml_profiles"></p>
<p class="p_SubHeadingL1"><span class="f_SubHeadingL1">What are UML Profiles?</span></p>
<p class="p_BodyText"><span class="f_BodyText">UML Profiles provide a means of extending UML, which enables you to build UML models in particular domains. They are based on additional <a href="profilereferences.htm">stereotypes and Tagged Values</a> that are applied to elements, attributes, methods, connectors, connector ends and so on. A Profile is a collection of such extensions that together describe some particular modeling problem and facilitate modeling constructs in that domain. For example, the UML Profile for XML describes a set of extensions to basic UML model elements to enable accurate modeling of XSD Schemas (see </span><span class="f_BodyText" style="font-style: italic;">Modeling XML Applications with UML, </span><span class="f_BodyText">David Carlson, </span><span class="f_BodyText" style="font-style: italic;">p. 310</span><span class="f_BodyText">).</span></p>
<p class="p_BodyText"><span class="f_BodyText">Enterprise Architect has a generic UML Profile <a href="importingandexportingprofil.htm">mechanism</a> for loading and working with different Profiles. UML Profiles for Enterprise Architect are specified in XML files, with a specific format; see the <a href="exampleprofilefile.htm">examples</a> in this topic. You can <a href="importingprofiles.htm">import</a> these XML files into Enterprise Architect through the </span><span class="f_UIControl">Resources</span><span class="f_BodyText"> window, or as part of an <a href="mdgtechnologies.htm">MDG Technology</a>. Once imported, you can drag and drop Profile elements onto the current diagram. Enterprise Architect attaches the stereotype, Tagged Values and default values, notes and even metafile if one is specified, to the new element. You can also drag and drop attributes and operations onto existing Classes and have them immediately added with the specified stereotype and values.</span></p>
<p class="p_BodyText"><span class="f_BodyText">The imported Profile also automatically generates a page of elements and relationships in the Enterprise Architect UML </span><span class="f_UIControl">Toolbox</span><span class="f_BodyText">.</span></p>
<div style="text-align: left; text-indent: 0px; padding: 0px 0px 0px 0px; margin: 5px 0px 5px 13px;"><table cellspacing="0" cellpadding="2" border="0" style="border: none; border-spacing:0px;">
<tr style="text-align:left;vertical-align:bottom;">
<td valign="bottom" width="955" bgcolor="#efeff7" style="width:955px; background-color:#efeff7;"><p class="p_TiporNote" style="border-top: none; border-right: none; border-left: none;"><span class="f_TiporNote">Note:</span></p>
</td>
</tr>
<tr style="text-align:left;">
<td width="955" bgcolor="#f7f7ff" style="width:955px; background-color:#f7f7ff;"><p class="p_TiporNoteText"><span class="f_TiporNoteText">To control the appearance of elements, you can also set a default element template. For more information, see the </span><span class="f_TiporNoteText" style="font-style: italic;"><a href="using_element_templates.htm">Set Element Templates Package</a></span><span class="f_TiporNoteText"> topic.</span></p>
</td>
</tr>
</table>
</div>
<p class="p_SubHeadingL1"><span class="f_SubHeadingL1">Profiles in the Resources Window</span></p>
<p class="p_BodyText"><span class="f_BodyText">The </span><span class="f_UIControl">Resources</span><span class="f_BodyText"> window contains a tree structure with entries for items such as MDG Technologies, Documents, Stylesheets, Matrix profiles and UML Profiles. The </span><span class="f_BodyText" style="font-style: italic;">UML Profiles</span><span class="f_BodyText"> node initially contains no entries; to be able to use Profiles you must import them into Enterprise Architect from supplied XML files.</span></p>
<p class="p_TextIndentedL2"><img src="umlprofiles.png" width="210" height="422" border="0" alt="UMLProfiles"></p>
<p class="p_BodyText"><span class="f_BodyText">Items in the Profile represent stereotypes. These can be applied to UML elements in the following ways:</span></p>
<ul style="text-indent: 0px; margin-left: 30px; list-style-position: outside;">
<li><span class="f_Bulletlist1">Stereotypes that apply to elements such as C</span><span class="f_Bulletlist1" style="font-style: italic;">lasses</span><span class="f_Bulletlist1"> and </span><span class="f_Bulletlist1" style="font-style: italic;">interfaces</span><span class="f_Bulletlist1"> can be dragged directly from the </span><span class="f_UIControl">Resources</span><span class="f_Bulletlist1"> window to the current diagram, automatically creating a stereotyped element. Alternatively, they can be dragged onto existing elements, automatically applying them to the element.</span></li>
<li><span class="f_Bulletlist1">Stereotypes that apply to </span><span class="f_Bulletlist1" style="font-style: italic;">attributes</span><span class="f_Bulletlist1"> can be drag-and-dropped onto a host element (e.g. Class); a stereotyped attribute is automatically added to the element's feature list.</span></li>
<li><span class="f_Bulletlist1">Stereotypes that apply to </span><span class="f_Bulletlist1" style="font-style: italic;">operations</span><span class="f_Bulletlist1"> are like those that apply to attributes; drag-and-drop onto a host element to add the stereotyped operation.</span></li>
<li><span class="f_Bulletlist1">Stereotypes that apply to </span><span class="f_Bulletlist1" style="font-style: italic;">connectors</span><span class="f_Bulletlist1"> such as </span><span class="f_Bulletlist1" style="font-style: italic;">associations</span><span class="f_Bulletlist1">, </span><span class="f_Bulletlist1" style="font-style: italic;">generalizations, messages</span><span class="f_Bulletlist1"> and </span><span class="f_Bulletlist1" style="font-style: italic;">dependencies</span><span class="f_Bulletlist1"> are added by selecting them in the </span><span class="f_UIControl">Project Browser</span><span class="f_Bulletlist1">, then clicking on the start element in a diagram and dragging to the end element (in the same manner as adding normal connectors). A stereotyped connector is added.</span></li>
<li><span class="f_Bulletlist1">Stereotypes that apply to </span><span class="f_Bulletlist1" style="font-style: italic;">association ends</span><span class="f_Bulletlist1"> can be added by dragging the connector end element over the end of an association in the diagram.</span></li>
</ul>
<p class="p_BodyText"><span class="f_BodyText">To get you started, some Profiles are supplied on the Sparx Systems website at <a href="http://www.sparxsystems.com/uml_profiles.htm" target="_blank" class="weblink">www.sparxsystems.com/uml_profiles.htm</a>. You can download these and import them into Enterprise Architect. Over time Sparx Systems intend to expand the range of Profiles, the content of each Profile and the degree of customization possible in each Profile.</span></p>
<p class="p_BodyText"><span class="f_BodyText">You can also create your own Profiles to describe modeling scenarios specific to your development environment. For more information see </span><span class="f_BodyText" style="font-style: italic;"><a href="introduction_2.htm">SDK for Enterprise Architect</a></span></p>




            </div>
          </div>
        </div>



</div>


</body>
</html>
